package com.rentplant.service.impl;

import com.alibaba.fastjson.JSONObject;
import com.rentplant.Pojo.item;
import com.rentplant.Pojo.itemanduser;
import com.rentplant.mapper.itemMapper;
import com.rentplant.service.itemService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Map;

@Service
public class itemServiceImp implements itemService {

    @Autowired
    private itemMapper itemmapper;

//    发布物品
    @Override
    public boolean addItem(JSONObject itemInfo){
        return itemmapper.addItem(itemInfo);
    }

//    查询openid的发布物品
    @Override
    public List<item> selectItem(String openid){
        return itemmapper.selectItem(openid);
    }

//    保存草稿
    @Override
    public  boolean saveItem(JSONObject itemInfo){
        return itemmapper.saveItem(itemInfo);
    }

//    更新物品信息
    @Override
    public boolean updateItem(JSONObject itemInfo){
        return itemmapper.updateItem(itemInfo);
    }

//    按照物品id
    @Override
    public List<item> selectItemById(String itemid){return itemmapper.selectItemById(itemid);}

//    展示主页商品
    @Override
    public List<itemanduser> showIndexItem(){

//        System.out.println(itemmapper.showIndexItem());
        return itemmapper.showIndexItem();
    };

//    查看物品详情
    @Override
    public List<itemanduser> selectItemByItemId(String itemid){
        return itemmapper.selectItemByItemId(itemid);
    }

//    浏览量加一
    @Override
    public boolean updateSeeNum(String itemid){return itemmapper.updateSeeNum(itemid);}

//    分类查找物品
    @Override
    public List<itemanduser> showTypeItem(String itemtype){return itemmapper.showTypeItem(itemtype);}

    //    展示物品类型 的综合排序
    @Override
    public List<itemanduser> showAllItem(String itemtype){
        return itemmapper.showAllItem(itemtype);
    }

    //    按照条件查询
    @Override
    public List<itemanduser> selectItemByNew(JSONObject iteminfo){
     return itemmapper.selectItemByNew(iteminfo);
    }

    //    按照条件查找销量高物品
    @Override
    public List<itemanduser> selectItemByHot(JSONObject iteminfo){return itemmapper.selectItemByHot(iteminfo);};

    //    物品按价格降序
    @Override
    public List<itemanduser> selectItemByUp(JSONObject iteminfo){
        return itemmapper.selectItemByUp(iteminfo);
    }



    //物品按照价格升序
    @Override
    public List<itemanduser> selectItemByDown(JSONObject iteminfo){
        return itemmapper.selectItemByDown(iteminfo);
    }



    //    按照itemid查找物品信息以及发布者信息
    @Override
    public List<itemanduser> itemAndUser(JSONObject iteminfo){
        return itemmapper.itemAndUser(iteminfo);
    }


    //查询用户发布的物品
    @Override
    public List<item>showUserItem(JSONObject iteminfo){
        return itemmapper.showUserItem(iteminfo);
    }


    //查询用户未发布物品信息
    @Override
    public  List<item> showNoSubItem(JSONObject iteminfo){
        return itemmapper.showNoSubItem(iteminfo);
    }

    //    查询用户已删除的物品
    @Override
    public List<item>haveDelItem(JSONObject iteminfo){
        return itemmapper.haveDelItem(iteminfo);
    }

    //    重新上架物品
    @Override
    public boolean renewItem(JSONObject iteminfo){
        return itemmapper.renewItem(iteminfo);
    }

    //删除已发布物品
    @Override
    public boolean delHaveItem (JSONObject iteminfo){
        return itemmapper.delHaveItem(iteminfo);
    }

    //发布草稿物品
    @Override
    public boolean addNoItem(JSONObject iteminfo){
        return itemmapper.addNoItem(iteminfo);
    }


    //删除用户草稿
    @Override
    public boolean delItem(JSONObject iteminfo){
        return itemmapper.delItem(iteminfo);
    }


    //    租用物品后物品改为租用中
    @Override
    public boolean rentitem(JSONObject iteminfo){
        return itemmapper.rentitem(iteminfo);
    }

    //    增加出租次数
    @Override
    public boolean addrenttimes(JSONObject iteminfo){
        return itemmapper.addrenttimes(iteminfo);
    }



    //查找用户的搜索结果
    @Override
    public List<itemanduser> showSelectResult(String searchinfo){
        return itemmapper.showSelectResult( searchinfo);
    }

    //用户查找按价格最高
    @Override
    public List<itemanduser> showSelectByTop(String searchinfo){
        return itemmapper.showSelectByTop(searchinfo);
    }


    //用户查找按价格最低
    @Override
    public List<itemanduser> showSelectByLow(String searchinfo){
        return itemmapper.showSelectByLow(searchinfo);
    }

    //用户查找销量最高
    @Override
    public List<itemanduser> showSelectBySale(String searchinfo){
        return itemmapper.showSelectBySale(searchinfo);
    }
    //用户查找最新
    @Override
    public List<itemanduser> showSelectByNew(String searchinfo){
        return itemmapper.showSelectByNew(searchinfo);
    }

    //用户查找最热
    @Override
    public List<itemanduser> showSelectByHot(String searchinfo){
        return itemmapper.showSelectByHot(searchinfo);
    }





    //    物品管理页面
//    渲染全部商品
    @Override
    public List<item> allItem(JSONObject pageInfo){return itemmapper.allItem(pageInfo);}

    //查询全部物品
    @Override
    public List<item> allItems(){return itemmapper.allItems();}

    //    修改物品信息
    @Override
    public boolean updateItemInfo(JSONObject itemInfo){return itemmapper.updateItemInfo(itemInfo);}

    //    按条件查找
    @Override
    public List<item> searchItem(JSONObject searchInfo){return itemmapper.searchItem(searchInfo);}
    //    按条件查找
    public List<item> searchItems(JSONObject searchInfo){return itemmapper.searchItems(searchInfo);}

}
